package org.mig.java.basics.net;

import com.sun.corba.se.spi.orbutil.fsm.Input;
import static com.sun.java.accessibility.util.AWTEventMonitor.addKeyListener;
import java.awt.event.KeyAdapter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import org.mig.java.basics.igu.IGU;

/**
 *
 * @author hildegard
 */
public class Cliente extends KeyAdapter {

    IGU igu;

    public Cliente(IGU igu) {
        this.igu = igu;
    }
    static Socket socket;
    static DataInputStream in;
    static DataOutputStream out;

    int playerid;

    public void init() {
        addKeyListener(this);
        try {
            System.out.println("Introduce una IP: ");

            System.out.println("Connecting...");
            socket = new Socket("192.168.3.183", 7777);
            System.out.println("Connection successful.");
            in = new DataInputStream(socket.getInputStream());
            playerid = in.readInt();
            out = new DataOutputStream(socket.getOutputStream());
        } catch (IOException e) {
            System.out.println("Unable to start client");
        }

    }

    public void run() throws IOException {
        int y2 = igu.plataforma2.getY();
        int x2 = igu.plataforma2.getX();
        int anchoPnl = igu.pnlPrincipal.getWidth();
        if (in.readInt() == 68) {
            igu.tim.start();
            System.out.println("pam");
            //Si la suma de la posicion X de la plataforma mas la suma de su ancho alcanza el X final del panel se para.
            if (x2 + igu.plataforma.getWidth() < anchoPnl) {
                igu.plataforma2.setLocation(igu.plataforma2.getX() + 30, y2);
            }
            //Si el codigo que detecta de teclado es 38 va a izquierda
        } else if (in.readInt() == 65) {
            igu.tim.start();
            System.out.println("pum");
            //Si la plataforma no se encuentra en el pizel 0 se puede mover.
            if (x2 > 0) {
                igu.plataforma2.setLocation(igu.plataforma2.getX() - 30, y2);
            }

        }
    }

}
